package com.zt.java.concurrency.synchronize;

import org.openjdk.jol.info.ClassLayout;

/**
 * 匿名偏向锁和偏向锁,第一次打印为匿名偏向，第二次偏向锁指向了main线程
 *
 * 注意：用run启动程序，不要用debug，实验的时候，用debug启动，第二次打印直接升级轻量级锁。
 * 观察markword的值
 */
public class JOL3 {

    public static void main(String[] args) throws Exception{
        Thread.sleep(5000); //等待jvm开启偏向锁
        Object o = new Object();
        System.out.println(ClassLayout.parseInstance(o).toPrintable());

        synchronized(o){
            System.out.println(ClassLayout.parseInstance(o).toPrintable());
        }

    }
}
